package com.google.code.lf.commons.util;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;

/**
 * Classe utilitaire ayant pour objet de centraliser l'implémentation des méthodes <code>toString()</code>.
 * 
 * @author gael.lorent-fonfrede
 */
public class ToStringHelper {
	/**
	 * Constructeur. Ne doit pas être appelé.
	 * @throws UnsupportedOperationException Toujours.
	 */
	private ToStringHelper() {
		throw new UnsupportedOperationException("Classe utilitaire, ne doit pas être instanciée.");
	}

	/**
	 * Cette méthode génère automatiquement une chaîne de caractères en utilisant la réflexion sur l'instance d'objet fournie.
	 * 
	 * @param o L'instance d'objet concernée.
	 * @return La chaîne de caractères préformatée.
	 * 
	 * @see ReflectionToStringBuilder.
	 */
	public static String toString(final Object o) {
		final ReflectionToStringBuilder rtsb = new ReflectionToStringBuilder(o);
		return "\n" + rtsb.toString();
	}
}
